local RequestMap = {}
-- 发送HTTP请求到服务器

-- uri：资源路径

-- method：方法，0GET，1POST

-- 以下参数POST方法才需要

-- content_type

-- W系列（仅post生效）：表示数据类型，支持 json,xml,text等。post操作如下所示

--      http_request(10001, 
--                  'http://192.168.1.20:8080/helloword.txt',
--                  1,
--                  'text/plain',
--                  'helloword')Copy
-- EW系列（get、post均生效）：表示HTTP HEAD请求头部配置。若有多个参数配置，用"\r\n"拼接，设置如下所示

-- http_request(10002, 
--              pc_url..'/project/?nonce='..nonce..'&timestamp='..cur_unix..'&sign='..sign,
--                 0, 
--             'Content-Type:application/json'..'\r\n'..'sessionId:'..loginer_Info.data.id, 
--             '')
-- postdata：POST数据
---@param uri any
---@param method any
---@param content_type any
---@param postdata any
function simple_http_request(uri, method, content_type, postdata, callback, errHandler)
    local taskId = randomNumberStr()
    println2("taskId:", taskId)
    content_type = content_type or ""
    postdata = postdata or ""
    RequestMap[taskId] = callback
    xpcall(http_request, function(err)
        if errHandler ~= nil then
            errHandler(err)
        end
    end, taskId, uri, method, content_type, postdata)
end

function on_http_response(taskId, resp)
    if RequestMap[taskId] then
        RequestMap[taskId](resp)
        RequestMap[taskId] = nil
    else
        print("on_http_response error, taskId:" .. taskId)
    end

end
